home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / virus / fixutil6.zip / FIXMBR30.DOC < prev    next >
Text File  |  1993-10-10  |  27KB  |  488 lines

  1.           
  2.         
  3.                      FixMBR v3.0                   October, 1993
  4.         
  5.            FixMBR is a combination recovery/integrity management program 
  6.        for  the protection of hard disks. In the case of an Master  Boot 
  7.        Record  infection  FixMBR  may  be used  to  restore  either  the 
  8.        original  Master Boot Record or to rebuild it using  an  original 
  9.        Partition Table taken from either inside the virus or from one of 
  10.        the "hidden" sectors (where most MBR infectors hide them).
  11.         
  12.            According   to   the  latest  (1993)  figures   from   McAfee 
  13.        Associates,  producers  of the popular SCAN, VSHIELD,  and  CLEAN 
  14.        programs,  MBR infecting viruses were the cause of over  half  of 
  15.        all  reported infections. FixMBR is designed to  provide  warning 
  16.        and recovery from such infections.
  17.         
  18.            Additionally, FixMBR also provides for capture/storage of  an 
  19.        off-line   copy  of  the  MBR  sector  that  may  be   used   for 
  20.        reconstruction and capture.
  21.         
  22.            FixMBR  requires no complicated switches and will prompt  for 
  23.        all  necessary information and permissions. Further  FixMBR  will 
  24.        suggest   only legitimate partition tables found in the track   0 
  25.        "hidden" area.
  26.         
  27.            User commands are limited to y(es)/n(o)/q(uit) and  will  be
  28.        requested when appropriate. On  single disk systems  q(uit)  will
  29.        terminate the program. On systems having multiple physical disks,
  30.        q(uit)  will  skip to the next disk. This is useful when the only 
  31.        activity desired is to back-up the original MBR(s).
  32.         
  33.                            WARNING Message
  34.         
  35.            The only real "caveat"s involve the error checking mechanisms 
  36.        used  by FixMBR. When the program starts, the drive  table(s)  as 
  37.        reported  by  the system is read and these  disk  parameters  are 
  38.        output.  If  the  CMOS (AT class & 386  and  later  machines)  is 
  39.        corrupt due to battery failure or rogue software, the  parameters 
  40.        as reported will probably be different than exist. In this  case, 
  41.        the  program should be q(uit)ed and the CMOS restored to  correct 
  42.        parameters before continuing. 
  43.         
  44.            The other case is if the disk is not completely allocated  to 
  45.        partitions  (rare).  This would occur if FDISK was  not  told  to 
  46.        allocate  all  of  the  disk  to  active,  extended,  or  non-DOS 
  47.        partitions  during the low-level format process. What will  occur 
  48.        is that on partition table display a warning message will appear.
  49.        Should  this  occur, either check the  original  partition  table 
  50.        values to verify entries or look for another table to use  before 
  51.        loading.  In  most  cases  a mismatch  will  indicate  a  corrupt 
  52.        partition table.
  53.  
  54.  
  55.                             Other Functions
  56.         
  57.            While  FixMBR  is designed to install the  SafeMBR  code  for 
  58.        detection  of attacks by MBR and partition table viruses,  it  is 
  59.        also designed to allow easy storage and recovery of original  MBR 
  60.        code in the event that the SafeMBR code cannot be used.     
  61.         
  62.         
  63.                             BIOS Boot Control
  64.         
  65.            Many modern ROM BIOSes  today  allow  selection  of the  boot 
  66.        drive yet many people are hesitant to use this since  maintenance 
  67.        sometimes requires booting from a floppy. v2.7 added the  ability
  68.        to permit such floppy booting even though the BIOS is set to hard
  69.        disk only. If the CTRL key is held down during boot, once SafeMBR
  70.        completes its check, the boot process will be transferred to  the
  71.        floppy A: drive. 
  72.        
  73.                        Suggested Use
  74.         
  75.            FixMBR   is   best utilized before  infection  or  corruption 
  76.        strikes.   In  this case, run the program, save the original  MBR 
  77.        when  prompted, select the partition table found  in sector  one, 
  78.        and  allow use of the SafeMBR code. It is further suggested  that 
  79.        the saved MBR(s) be copied as .COM file(s) along with the SafeMBR 
  80.        program  to a known clean bootable (restoration) floppy  that  is 
  81.        then write-protected and stored in a safe location. If a  printer 
  82.        is connected, Print-Screen may be used to automatically create  a 
  83.        hard  copy  of  the selected partition table(s)  that  should  be 
  84.        stored with the recovery floppy.
  85.         
  86.                        If an Infection Occurs
  87.         
  88.            In the event of an identified infection (e.g. STONED), simply 
  89.        boot   from the restoration floppy, run FixMBR and  increment  to  
  90.        the sector  in  which the virus stores the real MBR (e.g.  sector  
  91.        7)  then  use  this  to either restore the original MBR  or   use  
  92.        the SafeMBR code.
  93.         
  94.            In the case of an unknown infection, the best bet would be to 
  95.        select   a   partition  table from a sector other than sector one 
  96.        following a clean floppy boot.
  97.         
  98.            In  the event that a valid partition table is only  found  in 
  99.        sector   one (e.g. Azusa) then the SafeMBR replacement code  must  
  100.        be   selected  -  again only after a  known  clean  floppy  boot. 
  101.        Alternatively,  the user can use the original MBR stored  offline 
  102.        (see MBR8x.DAT below).
  103.            
  104.            If  used prior to infection, FIXMBR provides for  storage  of 
  105.        the original MBR code offline in separate programs for each disk.
  106.        (physical disks, not partitions). These  programs  will  be named
  107.        MBR80.DAT for the first disk responding, MBR81.DAT for the second
  108.        disk,   etc.   When   renamed with  a   .COM   extension,   these 
  109.        become executable programs that will restore  the  original  MBR.  
  110.  
  111.            It  is very unlikely that a virus will attack the MBR of  any 
  112.        fixed disk other than the first (disk 80) since this is the  only 
  113.        one in which the MBR is executed, however just in case...  FixMBR 
  114.        is designed to operate on ALL physical fixed disks responding  as 
  115.        such and will provide for saving all MBRs found.
  116.         
  117.        WARNING: Since MBR code is generally unique to each PC, execution 
  118.        of these programs  could  cause  serious data loss if executed on 
  119.        a different machine. DO NOT MIX PROGRAMS. If used in a  multiple-
  120.        PC environment, these files should be renamed to identify with  a
  121.        specific machine. Further, if any extensive change  to  partition
  122.        sizes are made or if a new OS is installed, rerunning  of  FixMBR
  123.        will be necessary to insure a proper recovery file.
  124.         
  125.        IMPORTANT:  For  FixMBR  to  work properly, it is essential  that 
  126.        any disk caching software (e.g. PC-Kwik) be turned OFF !
  127.         
  128.         
  129.                          Recovery Using FixMBR
  130.         
  131.            Nearly  every  known  MBR infection (with  the  exception  of 
  132.        AZUSA)  will store the original MBR sector in one of  the  hidden 
  133.        sectors  (2-11 on MFM and many "translating" drives, 2-26 on  RLL 
  134.        drives).  For  example, the STONED virus and  its  many  variants 
  135.        store the original MBR in absolute sector 7. Furthermore, so that 
  136.        a  PC  can be booted from a floppy, the partition table  MUST  be 
  137.        found  in absolute sector 1 (see below for a description  of  the 
  138.        MBR and Partition Table). Consequently, every known non-"stealth" 
  139.        virus keeps a copy of the P-Table in its own body.
  140.         
  141.         
  142.                     Recovery Using the Original MBR
  143.         
  144.            Since  it  is  often necessary to  boot  "bare"  an  infected 
  145.        machine,  it is recommended that the first step after receipt  of 
  146.        FixMBR be creation of a "recovery" disk.
  147.         
  148.            The  advisability of running FixMBR on a "clean"  system  and 
  149.        saving  the  original MBR to a floppy  cannot  be  overemphasized 
  150.        since  this  is a sure way to recover a system once  failure  has 
  151.        occurred. For this reason more detail is provided.
  152.         
  153.         Step 1: Prepare a bootable  floppy  disk with the same operating
  154.                 system  currently  used. Copy the SYS  program  (may  be 
  155.                 either .COM or .EXE extension) to the disks.
  156.         Step 2: Run FIXMBR and respond with a unique (7 max char) system
  157.                 name when asked.
  158.         Step 3: With  the  bootable floppy in the A:  drive,  enter  the
  159.                 command: COPY *.DAT A:*.COM
  160.         Step 4: Place   a   write protect tab on the  floppy,  label  it 
  161.                 SafeMBR recovery disk (if you have more than one PC each  
  162.                 should be separately labeled - serious loss could occur 
  163.                 if the  recovery program is executed on a different PC) 
  164.                 & store in a safe place.
  165.         
  166.            Following   infection,  easy  restoration  to  the   original 
  167.        condition (without SafeMBR code) may be accomplished by executing
  168.        the .COM file(s) for the machine after  booting from the recovery 
  169.        disk.
  170.  
  171.         
  172.                 Recovery using FixMBR (original MBR code)
  173.         
  174.            If you have elected not to use the SafeMBR code and the  disk 
  175.        becomes  infected, then recovery MAY be possible as follows:  Run 
  176.        FixMBR but reject (n) the first sector and do not save a copy  of 
  177.        the  MBR (unless you or someone else wishes to analyze it  -  the 
  178.        saved  file has the extension .DAT and is harmless unless  either 
  179.        renamed  or otherwise forced to execute. In this case be  careful 
  180.        not to mix it with your recovery file.
  181.         
  182.            If  another  sector  on the first track is found  to  have  a 
  183.        "possible  partition table" either compare it with  the  original 
  184.        hard  copy  (see above) or analyze it using the  Partition  Table 
  185.        description  below.  If  it matches your  disk  then  the  sector 
  186.        probably  also contains the original MBR code. In any  event  you 
  187.        can try it by selecting this sector (y) and rejecting use of  the 
  188.        SafeMBR code (n). If necessary, repeat for other drives.
  189.         
  190.                  Recovery Using SafeMBR Code
  191.         
  192.            In  this  case it is generally "safe" to  use  the  Partition 
  193.        Table found in the first sector - select it (y) and permit use of 
  194.        the  SafeMBR code (y again). In some cases (e.g. AZUSA) this  may 
  195.        be  the  only recovery method other than using the  original  MBR 
  196.        code saved offline that will work.
  197.         
  198.                    The Master Boot Record
  199.         
  200.            When the IBM-PC architecture was expanded to allow the use of  
  201.        hard  disks in 1982, provision was made for the accommodation  of 
  202.        more  than one operating system on each hard  disk.  Accordingly, 
  203.        the  first  FDISK  program permitted up  to  four  partitions  or 
  204.        logical  disks  on  each physical disk.  While  rarely  used  for 
  205.        multiple  operation systems (though systems such as OS/2,  XENIX, 
  206.        CMP/86  have exploited this capability), the most common  use  of 
  207.        partitioning was to allow early DOS versions to accommodate disks 
  208.        larger  than  32  Mbytes - the largest disk  that  DOS  prior  to 
  209.        Compaq/Zenith  3.31 could accommodate without third party help  - 
  210.        by dividing the disk into multiple logical drives.
  211.         
  212.            At  boot time, the BIOS had to be able to recognize not  only 
  213.        that  the disk was divided into partitions, but also needed  some 
  214.        way  to determine which partition contained the operating  system 
  215.        to be loaded.
  216.         
  217.            This  requirement  was satisfied by the Master  Boot  Record. 
  218.        Always  occupying the first physical sector on a disk the MBR  is 
  219.        divided  into two parts: the Partition Table and the Master  Boot 
  220.        Record  Program - a special code segment that is able to  extract 
  221.        the  partition table information and to load the first  stage  of 
  222.        the operating system.
  223.         
  224.            Traditionally,  this is ALL the MBR code was designed to  do, 
  225.        the  assumption  was made that it was operating in  a  valid  and 
  226.        stable environment, consequently no error checking is done beyond 
  227.        a simple "signature" validation.
  228.         
  229.            Since the MBR is very well defined both in both structure and 
  230.        location, it is a target for some of the most successful computer 
  231.        viruses today.
  232.         
  233.         
  234.                     The Partition Table
  235.        
  236.             Note: hexadecimal (base 16) numbers will be indicated by the 
  237.        suffix "h", other numbers are in decimal notation.
  238.        
  239.             The  partition table is a 40h (64) byte area in  the  Master 
  240.        Boot  Record that describes the partitioning of a disk. Each  10h 
  241.        (16) byte line describes a single partition: what it is, how  big 
  242.        it is, and where it is found on the disk. Some of the information 
  243.        is seemingly redundant, but all is used during the boot process.
  244.        
  245.             If  booting  is done from floppy disk, the MBR  sector  (the 
  246.        first on the disk) need only contain the partition table, the MBR 
  247.        code  segment is not necessary. However, if the fixed disk is  to 
  248.        be bootable, then the MBR code segment must be present.
  249.        
  250.             The  partition  table is able to contain a maximum  of  four 
  251.        entries  or logical partitions and versions of MS-DOS (&  PC-DOS) 
  252.        prior  to 3.31 (sometimes called 3.3+) were only able to  address 
  253.        FFFFh  (65535) 512 byte sectors for a maximum partition  size  of 
  254.        33,553,920 bytes commonly referred to as 32 Mb though not exactly 
  255.        this  value.  Since a maximum of four partitions  are  permitted, 
  256.        this gave an effective maximum disk size of 128 Mb, an incredible 
  257.        size  in 1982 when a 10 Mb ST-412 disk cost nearly  $1000.00  and 
  258.        floppies had just gone from 160kb to 360 kb each.
  259.        
  260.             Note: the apparent "loss" of a sector was caused by the 
  261.        fact that the original BIOS did not recognize any disk sector  as 
  262.        "0", sector addressing starts with "1".
  263.        
  264.             Of  course, from the beginning, the partitions  permitted  a 
  265.        doubleword  (four  bytes) for the sector numbers  rather  than  a 
  266.        single word (two bytes) so the partition table was from the first 
  267.        able to accommodate much gigabyte disks, a size which began to be 
  268.        exploited with MS-DOS 3.31. However earlier versions were limited 
  269.        to 32 Mb partitions.
  270.        
  271.             Prior  to  3.31,  a  number  of  manufacturers  had  already 
  272.        provided  proprietary means for handling larger disk sizes.  EDSI 
  273.        disks commonly used 1024 byte sectors permitting 64Mb partitions. 
  274.        Other  manufacturers  used  extended partition  tables  by  daisy 
  275.        chaining  the  tables (each logical partition had its  own  table 
  276.        linking to the next). Still others such as OnTrack's  DiskManager 
  277.        used custom device drivers to break the 32 Mb "barrier". However, 
  278.        Compaq's  introduction of MS-DOS 3.31, a convention also used  by 
  279.        Zenith  and DR-DOS finally allowed larger  partitions.  
  280.        
  281.             Microsoft  used a slightly different means with  MS-DOS  4.x 
  282.        that  still required a custom driver to enable programs  to  used 
  283.        "large"  partitions, a requirement that was  finally  eliminated 
  284.        with  the introduction of DOS 5.0. The only important  factor  to 
  285.        note  is  that all of these used the same basic  partition  table 
  286.        (and   still   do)  with  only  the  addition  of  a   "Type   6"  
  287.        partition indicating a "large" (over 32Mb) partition.
  288.        
  289.             In  any  event,  the partition table is  actually  a  simple 
  290.        construct - once understood the only limitation to reconstruction 
  291.        of  it  is knowledge of exactly how the disk is  partitioned  and 
  292.        even 
  293.        this information, though beyond the scope of this discussion, may 
  294.        be recovered by someone knowlegable in disk structure.
  295.        
  296.             Each 10h (16d) byte entry in the partition table is made  up 
  297.        of  six elements. The first byte (0h) determines which  partition 
  298.        is "active" e.g. to be used for booting MS-DOS. This is indicated 
  299.        by a hex "80" in the first byte. All other partitions should have 
  300.        "00" in the first byte.
  301.        
  302.             The next three bytes (1-3h) contain information used by  the 
  303.        MBR   to   locate   the  first  sector  of   the   partition   in 
  304.        track/head/sector  format: the low order four bits (16  max.)  of 
  305.        the first byte indicates the head number (the upper four bits are 
  306.        not  used), the first six bits of the second byte are the  sector 
  307.        number (63 max - 0 is not used). The upper two bits are  prefixed 
  308.        to  the third byte to generate the track number (1024  max),  and 
  309.        the upper nibble of the last byte is the head number (16 max). In 
  310.        theory  this should provide for 1,032,192 sectors (at  512  bytes 
  311.        per  sector this would allow 516 MB disks) but since  few  drives 
  312.        have   16  heads  or  63  sector  tracks,   often   "translating" 
  313.        controllers  or 1024 byte sectors are used to  permit  addressing 
  314.        large disks. 
  315.        
  316.             The   fifth  byte (4h) describes the "type"  of   partition:  
  317.        00h 
  318.        indicates  "unknown"  and is often used by other  O/Ss.  Type  01 
  319.        indicates a primary (active) partition with a 12-bit FAT. This is 
  320.        rarely seen except on floppy disks since it can only  accommodate 
  321.        4096   "allocation  units".  04  indicates  a  primary   (active) 
  322.        partition  using  a  16-bit FAT and can be  used  for  partitions 
  323.        containing  up  to 65,536 "allocation units", 05 is  an  extended 
  324.        partition, and 06 a "large" partition. Other numbers are used  to 
  325.        designate partitions used by other Operating systems such as OS/2 
  326.        and Unix.
  327.        
  328.             Bytes  5-7h  contain  information used to  locate  the  last 
  329.        sector in a partition the layout is the same as in bytes 1-3h.
  330.        
  331.             Bytes 8-Bh and C-Fh are double words indicating the starting 
  332.        sector   offset   for  each partition and  the  absolute   sector  
  333.        count. 
  334.        These  are read backwards with the least significant byte  first. 
  335.        Thus the first partition begins 00000011h (17) sectors after  the 
  336.        MBR  and  extends for 0000C826h (51,238) sectors -  25  MB).  The 
  337.        second  partition  begins at offset 0000C837h (C826h +  11h)  and 
  338.        extends for 00007B2Fh (31,535) sectors (15 Mb). 
  339.  
  340.  
  341.        Sample valid Partition Table: 42 MB disk with 2 partitions
  342.        
  343.             |A | Start  |T | End    | Absolute  | Absolute  |
  344.             |C | Head/  |Y | Head/  | Partition | Partition |
  345.             |T | Track/ |P | Track/ | Starting  | Sector    |
  346.             |V | Sector |E | Sector | Sector    | Count     |
  347.             |E |        |  |        | Offset    |           |
  348.        
  349.              80 01 01 00 04 04 91 5A 11 00 00 00 26 C8 00 00
  350.              00 00 81 5B 05 04 D1 CD 37 C8 00 00 2F 7B 00 00
  351.              00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  352.              00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
  353.        
  354.         Byte: 0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
  355.        
  356.        For  a  more  complete description of the  Fixed  Disk  Partition 
  357.        Table,  refer to the *IBM-PC Technical Reference  Manual*  (IBM), 
  358.        also  the QUE book *DOS Programmer's Reference  Manual*  and Ralf  
  359.        Brown's INTERRUPT list provide excellent references.
  360.         
  361.         
  362.                        SAFEMBR v3.0
  363.                
  364.            An   integrity  checking Master Boot Record program for  IBM-
  365.        PCs and Clones by Padgett. Copyright (C) 1991,  1992,  1993:  all  
  366.        rights reserved by the author.
  367.       
  368.            This  program  is designed to replace  the  standard   MS-DOS         
  369.        master  boot  record program with code that does more  than  just 
  370.        find  the  active  partition and jump to  the  O/S  boot  record, 
  371.        SAFEMBR   first  checks  the  disk  access  integrity,  its   own 
  372.        integrity, and validates the indicated partition.
  373.        
  374.             SAFEMBR  will  detect  all known Master  Boot  Record  virus 
  375.        infections  including  those  using  "stealth"  such  as   JOSHI, 
  376.        MICHELANGELO,  and   the EVIL EMPIRE as well as the  most  common 
  377.        known infector, STONED and its variants.
  378.        
  379.             Used in conjunction with NoFBoot (C) or a BIOS allowing boot
  380.        selection of the fixed disk, the likelihood of an undetected BIOS
  381.        level infection going undetected drops to near zero.
  382.        
  383.             Using the techniques proven by its more rigorous  commercial 
  384.        relative,  DISKSECURE II, SAFEMBR can provide  immediate  generic 
  385.        front-line  detection of viruses both known and unknown  for  the 
  386.        individual PC.
  387.        
  388.             Being  a MBR replacement only, SAFEMBR does not go  resident 
  389.        and  thus  does  not require any  dedicated  RAM.  Following  the 
  390.        IBM/MicroSoft specifications for a MBR, SAFEMBR is effective even 
  391.        with  validating  BIOSes such as the TANDON  and  is designed  to 
  392.        accommodate "unruly" disk controllers such as the Western Digital 
  393.        WD10002A-27X which may write directly to the MBR.
  394.                
  395.             When installed, SAFEMBR will display its logo on each  boot. 
  396.        Failure  to  print the logo could indicate a replacement  and  is 
  397.        cause  for concern. The program CHKSMBR.EXE is provided to  allow 
  398.        determination that SAFEMBR code is present.
  399.        
  400.             Should an exception occur, the boot will halt with an  error
  401.        message such as "Low Interrupt Vector", "Invalid  First  Sector",
  402.        "Invalid Master Boot Record", or "Missing Operating System".  The
  403.        system can then be booted with  a floppy disk  and  investigation 
  404.        made to determine the cause of the exception.
  405.         
  406.             It should be noted that many  security  products  using  MBR
  407.        relocation techniques  are  incompatible  with SAFEMBR. If such a 
  408.        product  uses  MBR  redirection  to prevent booting from a floppy 
  409.        disk,  this  will  be  the case. If use  of  such  a  product  is 
  410.        necessary,  SAFEMBR will have to be removed and the original  MBR 
  411.        restored.
  412.         
  413.                       CHKSBR30
  414.         
  415.            The  CHKSMBR program is supplied so that the user (or  Network 
  416.        Server)  can verify that the SafeMBR code has been installed  and 
  417.        is intact. Like FixMBR, CHKSMBR has no switches: on invocation  it 
  418.        will display either an error message or the SafeMBR logo. It will 
  419.        also  return  the following DOS Errorlevels for use  from  within 
  420.        a .BAT batch file or other program.
  421.         
  422.            There  are  some common viruses which  simply  overwrite  the 
  423.        original  MBR  code  (e.g. AZUSA). If the PC is  booted  from  an 
  424.        infected floppy there is no way to prevent this from taking place 
  425.        and there will be no warning that infection has occurred. CHKSMBR 
  426.        is  designed to fill this gap by verifying that SafeMBR is  still 
  427.        intact on the disk.
  428.                      
  429.            Note that since different signatures have been used with each
  430.        SAFEMBR version, only the CHKSMBR for version  3.0  will  operate
  431.        properly.
  432.  
  433.                      Errorlevel Returns
  434.         
  435.               0 - SafeMBR found in MBR (correct response)
  436.               1 - Abnormal Termination (disk read error, etc.)
  437.               2 - SafeMBR NOT found in MBR
  438.         
  439.           Thus any return OTHER than 0 indicates a problem. 
  440.         
  441.        Note:  CHKSMBR will operate properly ONLY if the SafeMBR  code  is 
  442.        loaded onto the system.
  443.         
  444.                         Padgett Peterson
  445.                         POB 1203
  446.                         Windermere, FLA, 34786 USA
  447.                         padgett@tccslr.dnet.mmc.com        
  448.         
  449.        DISCLAIMER: This software is furnished "as is" and all  liability 
  450.             for  the effects of the use of this software rests  entirely 
  451.             with the user. Adequate backups are the best protection from 
  452.             loss.
  453.         
  454.             Extensive testing has been made but obviously this cannot
  455.             include every conceivable combination.
  456.  
  457.  
  458.                             FREEEWARE NOTICE        
  459.         
  460.             With version 3.0, FixMBR is made FREEWARE and  may  be  used
  461.        without restriction or charge by individuals so long as no change 
  462.        is made  to the program or its accompanying documentation and  it
  463.        is only distributed as a complete package.
  464.         
  465.             Custom logos, warning notices, and boot delays (e.g. Display
  466.        of  message  "Use  Subject  to  Monitoring   &  Unauthorized  use 
  467.        Prohibited"  and  requirement  for  a  key  to  be pressed before 
  468.        continuing) or  floppy  boot capability removal are available for
  469.        a one-time fee.        
  470.         
  471.         
  472.        v3.0 - 1993 - Checking made more rigorous
  473.        v2.8 - 1993 - Correct improper sector count/boot for unusual P-table
  474.        v2,7 - 1993 - Added floppy boot capability 
  475.        v2.6 - 1993 - (unreleased) Added automatic save of old MBR with naming
  476.        v2.5 - 1992 - (unreleased) Corrected lack of display on older monitors
  477.        v2.4 - 1992 - Changed Suggested Remuneration
  478.        v2.4 - 1992 - Added detection and notice for 1k byte sectors
  479.        v2.3 - 1992 - not released
  480.        v2.2 - 1992 - Added drive table information and check
  481.        v2.1 - 1992 - Added early Zenith BR compatibility
  482.        v2.0 - 1992 - MBR restoration programs made executable.
  483.                      User interface improved. Program restructured.
  484.        v1.7 - 1991 - Multiple drive handler added
  485.        v1.6 - 1991 - Fixes "Invalid Partition Table" with unusual table 
  486.        v1.5 - 1991 - First beta version released
  487.         
  488.